import matplotlib
matplotlib.use('TkAgg')  # 或者根据你的系统选择合适的后端
import matplotlib.pyplot as plt
from matplotlib import rcParams

rcParams['font.family'] = 'STHeiti'    # Mac
# rcParams['font.sans-serif'] = ['SimHei', 'Microsoft YaHei', 'SimSun', 'FangSong', 'KaiTi']
rcParams['axes.unicode_minus'] = False  # 解决负号显示问题

"""
折线图 plot
条形图/柱状图 barh/bar
饼图  pie
散点图 scatter
箱线图 boxplot
多个图标
组合图
"""

# 条形图
# 创建图表并创建
plt.figure(figsize=(10, 8))
countries = ['美国', '中国', '日本', '德国', '印度']
gdp = [96, 96, 50, 42, 23]

plt.barh(countries, gdp, label='GPD排名', color='red')

# 添加标题和标签
plt.title('2025年GPD排名', color='r', fontsize=20)

plt.xlabel('GDP', fontsize=10)
plt.ylabel('国家', fontsize=10)

# 添加网格线
plt.grid(axis='y', alpha=0.3)

# 设置刻度字体大小
plt.xticks(rotation=60, fontsize=20)
plt.yticks(rotation=60, fontsize=20)    # rotation设置旋转角度

# 添加图例
plt.legend(loc='upper left')

# # 在每个数据点上显示数值
for x, y in zip(gdp, countries):
    plt.text(x+1, y, str(x), ha='center', va='bottom', color='b', fontsize=10)

# 自动优化排版
plt.tight_layout()
# 显示图表
plt.show()
